# 统计自己与自己的反向字符串的最长公共子序列即可。
# 因为剩下的不公共的长度，就是需要添加的字母数！
s1 = input()
s2 = s1[::-1]
l = len(s1) + 1
dp = [[0] * l for i in range(l)]
for i in range(1, l):
    for j in range(1, l):
        if s1[i - 1] == s2[j - 1]: dp[i][j] = dp[i - 1][j - 1] + 1
        else: dp[i][j] = max(dp[i][j - 1], dp[i - 1][j])
print(l - dp[-1][-1] - 1)
# 然后超时了。。。也是，前一个题，长度1000，都是勉强不超时，这个估计要改成9s吧。。
# -------------------------------------------------------------------------------

# 比赛环境为python3.8.6版本自带的IDLE，最好早点熟悉一下。。这个东西的提示时有时无

# 菜单栏最右边的Help的Python Docs 比赛时候也可以看，不过建议还是提前多了解了解，

# 比赛的时候至少知道在文档找什么能用的上。

# IDLE是下载Python时自带的，在按住win+s搜索IDLE就能搜到了。

# 然后点左上角的File可以创建新文件，然后按F5可以运行。
